/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.its.dd2.Bl;

import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.its.dd2.Dao.ProductDaoLocal;
import mx.its.dds2.modelo.Product;
import mx.its.dsw2.farmacia.enumeracion.EstadoRegistro;

/**
 *
 * @product Piter
 */
@Stateless
public class ProductBl implements ProductBlLocal {
    @EJB
    private ProductDaoLocal productDao;

   
    //este es otro comentario
    //llama a un enterprice java beans con el metodo de inyección de objetos
    //pues cuando se necesite el mismo contenedor de EJB's creara el objeto e iniciara la variable
    
     @Override
    public EstadoRegistro Register(Product product) {
         if(productDao.findDuplicity(product)){
             return EstadoRegistro.INCOMPLETO;
         }else{
             productDao.create(product);
             return EstadoRegistro.COMPLETO;
         }
        
          
    }

    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")

    @Override
    public EstadoRegistro modify(Product product) {
        if(product.getId()==null || productDao.find(product.getId())==null){
            return EstadoRegistro.INCOMPLETO;
         }
    else{
    productDao.edit(product);
    return EstadoRegistro.COMPLETO;
        }
    }

    @Override
    public EstadoRegistro delete(Product product) {
         if(product.getId()==null || productDao.find(product.getId())==null){
            return EstadoRegistro.INCOMPLETO;
         }
    else{
    productDao.remove(product);
    return EstadoRegistro.COMPLETO;
        }
    }

    @Override
    public List<Product> getAll() {
        return productDao.findAll();
    }
    

}
